package com.skivingcloud.admin.sys.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.time.LocalDateTime;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * <p>
 * 菜单管理
 * </p>
 *
 * @author skivingcloud
 * @since 2022-01-29
 */
@TableName("sys_menu")
@ApiModel(value = "SysMenu对象", description = "菜单管理")
public class SysMenu implements Serializable {

    private static final long serialVersionUID = 1L;

    private String id;

    @ApiModelProperty("父菜单ID，一级菜单为0")
    private String parentId;

    @ApiModelProperty("菜单名称")
    private String name;

    @ApiModelProperty("别名")
    private String alias;

    @ApiModelProperty("菜单URL")
    private String url;

    @ApiModelProperty("授权(多个用逗号分隔，如：user:list,user:create)")
    private String perms;

    @ApiModelProperty("类型   0：目录   1：菜单   2：按钮")
    private Integer type;

    @ApiModelProperty("菜单图标")
    private String icon;

    @ApiModelProperty("排序")
    private Integer orderNum;

    @ApiModelProperty("系统资源：0-否（系统外资源，挂接其他系统功能用）、1-是")
    private String sysResource;

    @ApiModelProperty("租户")
    private String tenantId;

    @ApiModelProperty("所属终端：1-PC、2-APP")
    private String terminal;

    @ApiModelProperty("创建人")
    private String creater;

    @ApiModelProperty("创建时间")
    private LocalDateTime createTime;

    @ApiModelProperty("最后修改人")
    private String modUser;

    @ApiModelProperty("修改时间")
    private LocalDateTime modTime;

    @ApiModelProperty("重定向")
    private String redirect;
    
    @ApiModelProperty("是否影藏：0-否、1-是")
    private String isHide;
    
    @ApiModelProperty("是否缓存：0-否、1-是")
    private String isKeepAlive;
    
    @ApiModelProperty("是否固定：0-否、1-是")
    private String isAffix;
    
    public String getId() {
        return id;
    }
    
    public void setId(String id) {
        this.id = id;
    }
    public String getParentId() {
        return parentId;
    }
    
    public void setParentId(String parentId) {
        this.parentId = parentId;
    }
    public String getName() {
        return name;
    }
    
    public void setName(String name) {
        this.name = name;
    }
    public String getAlias() {
        return alias;
    }
    
    public void setAlias(String alias) {
        this.alias = alias;
    }
    public String getUrl() {
        return url;
    }
    
    public void setUrl(String url) {
        this.url = url;
    }
    public String getPerms() {
        return perms;
    }
    
    public void setPerms(String perms) {
        this.perms = perms;
    }
    public Integer getType() {
        return type;
    }
    
    public void setType(Integer type) {
        this.type = type;
    }
    public String getIcon() {
        return icon;
    }
    
    public void setIcon(String icon) {
        this.icon = icon;
    }
    public Integer getOrderNum() {
        return orderNum;
    }
    
    public void setOrderNum(Integer orderNum) {
        this.orderNum = orderNum;
    }
    public String getSysResource() {
        return sysResource;
    }
    
    public void setSysResource(String sysResource) {
        this.sysResource = sysResource;
    }
    public String getTenantId() {
        return tenantId;
    }
    
    public void setTenantId(String tenantId) {
        this.tenantId = tenantId;
    }
    public String getTerminal() {
        return terminal;
    }
    
    public void setTerminal(String terminal) {
        this.terminal = terminal;
    }
    public String getCreater() {
        return creater;
    }
    
    public void setCreater(String creater) {
        this.creater = creater;
    }

    /**
     * @return the redirect
     */
    public String getRedirect() {
        return redirect;
    }

    public LocalDateTime getCreateTime() {
        return createTime;
    }

    public void setCreateTime(LocalDateTime createTime) {
        this.createTime = createTime;
    }
    public String getModUser() {
        return modUser;
    }

    public void setModUser(String modUser) {
        this.modUser = modUser;
    }
    public LocalDateTime getModTime() {
        return modTime;
    }

    public void setModTime(LocalDateTime modTime) {
        this.modTime = modTime;
    }

    public void setRedirect(String redirect) {
        this.redirect = redirect;
    }

    public String getIsHide() {
        return isHide;
    }

    public void setIsHide(String isHide) {
        this.isHide = isHide;
    }

    public String getIsKeepAlive() {
        return isKeepAlive;
    }

    public void setIsKeepAlive(String isKeepAlive) {
        this.isKeepAlive = isKeepAlive;
    }

    public String getIsAffix() {
        return isAffix;
    }

    public void setIsAffix(String isAffix) {
        this.isAffix = isAffix;
    }

    @Override
    public String toString() {
        return "SysMenu{" +
            "id=" + id +
            ", parentId=" + parentId +
            ", name=" + name +
            ", alias=" + alias +
            ", url=" + url +
            ", perms=" + perms +
            ", type=" + type +
            ", icon=" + icon +
            ", orderNum=" + orderNum +
            ", sysResource=" + sysResource +
            ", tenantId=" + tenantId +
            ", terminal=" + terminal +
            ", creater=" + creater +
            ", createTime=" + createTime +
            ", modUser=" + modUser +
            ", modTime=" + modTime +
            ", redirect=" + redirect +
            ", isHide=" + isHide +
            ", isKeepAlive=" + isKeepAlive +
            ", isAffix=" + isAffix +
        "}";
    }
}
